package com.tpl.core.basedata.service.impl;

import java.util.List;

import com.tpl.core.basedata.dao.MenuDao;
import com.tpl.core.common.exception.RuleException;
import com.tpl.core.entity.sys.Menu;
import com.tpl.core.basedata.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired;


/**
 * 说明 :菜单管理业务处理类
 * @author <a href="mailto:3380084@gmail.com">张坤雷</a>
 * @version 创建时间：2013-7-3 下午3:49:23 
 *
 */
public class MenuServiceImpl implements MenuService {
	@Autowired
	private MenuDao menuDao;
	@Override
	public void saveMenu(Menu menu) {
		int count=menuDao.checkMenuNo(menu.getMenuNo(), menu.getId());
		if(count>0)
			throw new RuleException("菜单编码已经存在,请修改后保存！");
		if(menu.getId()==null){
			menu.setCreateDate(menu.getUpdateDate());
			menu.setCreator(menu.getUpdator());
			menuDao.insertMenu(menu);
		}else
			menuDao.updateMenu(menu);
	}

	@Override
	public void deleteMenu(Long id) {
		List<Menu> list=menuDao.getMenusByParentId(id);
		if(list.isEmpty())
			menuDao.deleteMenu(id);
		else
			throw new RuleException("菜单下存在没有删除的子菜单,不能删除！");
	}
	private void clearCache(){
		
	}

}
